#include "ini.h"

#include <assert.h>
#include <string.h>
#include <stdio.h>


int main(int argc, char *argv[]) {

  	Ini_TypeDef *config = ini_load("cfg.ini");
 	const char *name = ini_get(config, "setting", "pH");
	if (name) {
	printf("name: %s   %d\n", name, sizeof(name) );
	}


 	const char *para = ini_get(config, "para", "pH");
	if (para) {
	printf("para: %s   \n", para );
	}

	ini_get_struct(config, "setting", "pH" );
	ini_print_struct(config);

	char seq[16] = "12";
	char name2[16] = "SALT";
	char type[16] = "uint16";
	char unit[16] = "mg/l";
	char val[16] = "897";
	char coeff[16] = "100";
	ini_modify_struct_from_ui(config,  seq, name2, type,  unit,  val,  coeff);
	ini_print_struct(config);
	ini_print_data(config);

	printf("============================  \n"  );

	// ini_get_start_end(config, "para", "salt" ) ;
	int start,end;
	ini_get_start_end( config, "setting", "pH",  &start,  &end);
	ini_insert_struct(config, "setting", "pH" ,start,end) ;
	ini_print_data(config);


		return 0;
}





	// int i = 0;
	// int hhh[] = {1,2,3,4};
	// while (  i < 2 )
	// {
	// 	printf(" test ->   %d \n ", hhh[i] );
	// }
	// int i = 2;
	// while (  i < 4)
	// {

	// 	printf(" test ->   %d \n ", hhh[i] );
	// }	

// #include "ini_load.h"

// #include <assert.h>
// #include <string.h>
// #include <stdio.h>


// int main(int argc, char *argv[]) {

//   ini_file *ini;
//   ini = ini_load("cfg.ini");

//   if (ini == NULL) {
//     printf(" ini null ->   \n "  );
//   }

// 	int status =  ini_num_sections(ini);
// 	char * ph = ini_get_string(ini, "setting", "pH", "wrong");
// 	int doo = ini_get_int(ini, "setting", "DO", -1);
// 	printf(" test ->  %s \n " ,ph );
// 	printf(" test doo ->  %d \n ", doo );

// 	char * salt = ini_get_string(ini, "para", "salt", "wrong");
// 	// int para = ini_get_int(ini, "para", "pH", -1);
// 	// printf(" test para ->  %d \n " ,para );
// 	printf(" test salt ->  %s \n " ,salt );
 

// 	return 0;
// }

